home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Name: Double Buffer Demo
- ** Author: Paul Manias
- ** Copyright: DreamWorld Productions © 1996-1997.
- ** Doc: This simple demo shows how to double buffer the screen.
- **
- ** SAS/C: 1> sc DoubleBuffer.c link startup=LIB:gms.o data=far nostackcheck
- ** Dice: 1> dcc -l0 -mD gms.o DoubleBuffer.c -o DoubleBuffer
- **
- */
-
- #include <proto/games.h>
-
- extern struct GMSBase *GMSBase;
- ULONG PREFSNAME = DEFAULT;
-
- void main(void)
- {
- struct Picture *picture;
- struct GameScreen *screen;
-
- if (picture = LoadPicFile("GMS:demos/data/PIC.Green",GETPALETTE|VIDEOMEM)) {
-
- screen = GetScreen();
- CopyStructure(picture,screen);
- screen->MemPtr1 = picture->Data;
- screen->Attrib = DBLBUFFER|CENTRE;
-
- if (screen = AddScreen(screen)) {
-
- ShowScreen(screen);
- while (!(ReadJoyPort(JPORT1,JT_ZBXY)&MB_LMB)) {
- WaitVBL();
- SwapBuffers(screen);
- }
-
- FreePic(picture);
- }
- DeleteScreen(screen);
- }
- }
-
-